package book;

/*3. 以面向对象的思想，编写自定义类描述图书信息。设定属性包括：书名，作者，出版社名，价格；方法包括：信息介绍
 * 要求：
   1) 设置属性的私有访问权限，通过公有的get,set方法实现对属性的访问
 * 2) 限定介格必须大于10，如果无效进行提示
   3) 限定作者，书名境外为只读属性
   4) 设计构造方法实现对属性赋值
   5) 信息介绍方法描述图书所有信息
   编写测试类，测试图书类的对象及相关方法（测试数据信息自定）
 * */
public class Book {

	private String bookName;
	private String writer;
	private String press;
	private double price;

	// 无参构造方法
	public Book() {

	}

	// 有参构造方法
	public Book(String bookName, String writer, String press, double price) {
		this.setBookName(bookName);
		this.setWriter(writer);
		this.setPress(press);
		this.setPrice(price);

	}

	public String getBookName() {
		return this.bookName;
	}

	public void setBookName(String bookName) {
		this.bookName = bookName;
	}

	public String getWriter() {
		return this.writer;
	}

	public void setWriter(String writer) {
		this.writer = writer;
	}

	public String getPress() {
		return this.press;
	}

	public void setPress(String press) {
		this.press = press;
	}

	public double getPrice() {
		return this.price;
	}

	public void setPrice(double price) {
		if (price > 10) {
			this.price = price;
		} else {
			throw new RuntimeException("该输入无效，价格最低为10！");
		}
	}

	public void information() {
		System.out.println("这本书名字是：" + bookName + "，作者是：" + writer + "，出版社是：" + press + "，价格是：" + price);
	}

}
